package com.bkgy.controller.allprocess.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bkgy.controller.allprocess.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
    public interface AllProcessMapper  {
    /**
     * 1630重卷单产线成材率表明细表_分页
     * @param query TbYieldRcl1630Entity
     * @return List<TbYieldRcl1630Entity>
     */
    List<TbYieldRcl1630Entity> getTbyieldRcl1630_page(Page<?> page, @Param("query") TbYieldRcl1630Entity query);

    /**
     * 1630重卷单产线成材率表明细表_分页-分页总页;
     * @param query TbYieldRcl1630Entity
     * @return 总行数
     */
    Integer getTbyieldRcl1630_pagecount(@Param("query") TbYieldRcl1630Entity query);

    /**
     * 2150重卷单产线成材率表明细表_分页
     * @param query TbYieldRcl2150Entity
     * @return List<TbYieldRcl2150Entity>
     */
    List<TbYieldRcl2150Entity> getTbyieldRcl2150_page(Page<?> page, @Param("query") TbYieldRcl2150Entity query);

    /**
     * 2150重卷单产线成材率表明细表_分页-分页总页;
     * @param query TbYieldRcl2150Entity
     * @return 总行数
     */
    Integer getTbyieldRcl2150_pagecount(@Param("query") TbYieldRcl2150Entity query);

    /**
     * 1870重卷单产线成材率表明细表_分页
     * @param query TbYieldRcl1870Entity
     * @return List<TbYieldRcl1870Entity>
     */
    List<TbYieldRcl1870Entity> getTbyieldRcl1870_page(Page<?> page, @Param("query") TbYieldRcl1870Entity query);

    /**
     * 1870重卷单产线成材率表明细表_分页-分页总页;
     * @param query TbYieldRcl1870Entity
     * @return 总行数
     */
    Integer getTbyieldRcl1870_pagecount(@Param("query") TbYieldRcl1870Entity query);


    /**
     * 产品成材率全流程分析页
     * getcatchllprocess2150，异常品规统计-2150
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getcatchllprocess2150(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess2150_pagecount，异常品规统计-2150-取得分页总数
     * @param query
     * @return
     */
    Integer getcatchllprocess2150_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess1630，异常品规统计-1630
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getcatchllprocess1630(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess1630_pagecount，异常品规统计-1630-取得分页总数
     * @param query
     * @return
     */
    Integer getcatchllprocess1630_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess1870，异常品规统计-1870
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getcatchllprocess1870(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess1870_pagecount，异常品规统计-1870-取得分页总数
     * @param query
     * @return
     */
    Integer getcatchllprocess1870_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess2280，异常品规统计-2250
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getcatchllprocess2280(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析页
     * getcatchllprocess2280_pagecount，异常品规统计-2250-取得分页总数
     * @param query
     * @return
     */
    Integer getcatchllprocess2280_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析-2150
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getAllprocessProductRate2150(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析-2150-取得分页总数
     * @param query
     * @return
     */
    Integer getAllprocessProductRate2150_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * getAllprocessProductRate，产品成材率全流程分析-1630;
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getAllprocessProductRate1630(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * getAllprocessProductRate1630_pagecount，产品成材率全流程分析-1630-取得分页总数
     * @param query
     * @return
     */
    Integer getAllprocessProductRate1630_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * getAllprocessProductRate，产品成材率全流程分析-1870;
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getAllprocessProductRate1870(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析-1870-取得分页总数
     * @param query
     * @return
     */
    Integer getAllprocessProductRate1870_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * 产品成材率全流程分析-2280;
     * @param page
     * @param query
     * @return
     */
    List<TbAllpricessProductEntity> getAllprocessProductRate2280(Page<?> page, @Param("query") TbAllpricessProductEntity query);

    /**
     * getAllprocessProductRate2280_pagecount，产品成材率全流程分析-2280-取得分页总数
     * @param query
     * @return
     */
    Integer getAllprocessProductRate2280_pagecount(@Param("query") TbAllpricessProductEntity query);

    /**
     * 全流程成材率模型首页数据-机组计算成材率;
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetails(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-1630机组计算成材率;
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetails1630(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-2150机组计算成材率
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetails2150(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-1870机组计算成材率
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetails1870(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-2280机组计算成材率
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetails2280(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-RCL1630机组计算成材率
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetailsRcl1630(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-RCL2150机组计算成材率
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetailsRcl2150(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-RCL1870机组计算成材率
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> gettAllProcessIndexDetailsRcl1870(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-总成材率-废弃改为Java代码计算
     * 2025-06-16废弃，甲方侯亮提出总成材率由下面的，冷轧成材率和镀锌成材率构成
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getTotalYield_STOP(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-冷轧成材率（酸轧到两个连退线的成材率）-废弃-拆为两个单独产线
     * 2025年7月1日本溪三冷侯亮对该功能进行变更，由总的冷轧成才率，拆为1630和2150连退成材率，故该功能废弃
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getTotalYield_cal_SOTP(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-冷轧成材率（酸轧到1630连退线的成材率）
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getTotalYield_cal1630(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-冷轧成材率（酸轧到2150连退线的成材率）
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getTotalYield_cal2150(Page<?> page, @Param("query") TbAllpricessIndexEntity query);


    /**
     * getTotalYield_cgl，全流程成材率模型首页数据-镀锌成材率（酸轧到镀锌线成材率）
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getTotalYield_cgl(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * getunCompleteReason，全流程成材率模型首页数据-未完成原因;
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getunCompleteReason(Page<?> page, @Param("query") TbAllpricessIndexEntity query);









    /**
     * 全流程成材率模型首页数据-产品品类-所有产线
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeAll(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-CAL1630
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeCal1630(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-CAL2150
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeCal2150(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-CGL1870
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeCgl1870(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-TCM2280
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeTcm2280(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-RCL1630
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeRcl1630(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-RCL2150
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeRcl2150(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-产品品类-RCL1870
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getproductTypeRcl1870(Page<?> page, @Param("query") TbAllpricessIndexEntity query);







    /**
     * 全流程成材率模型首页数据-异常原因-全产线
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getotherReasonAll(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-异常原因-1630线
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getotherReason1630(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-异常原因-2150线
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getotherReason2150(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-异常原因-1870线;
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getotherReason1870(Page<?> page, @Param("query") TbAllpricessIndexEntity query);

    /**
     * 全流程成材率模型首页数据-异常原因-2280线;
     * @param query TbAllpricessIndexEntity
     * @return
     */
    List<TbAllpricessIndexEntity> getotherReason2280(Page<?> page, @Param("query") TbAllpricessIndexEntity query);




    /**
     * getTbyieldtcm2280，得到2280酸轧线成材率表明细表;
     * @param hotCoilId 入口钢卷号
     * @param coldCoilId 出口卷号
     * @param dbegin 开始时间
     * @param dend 结束时间
     * @return
     */
    List<TbYieldTcm2280Entity> getTbyieldtcm2280Details(@Param("hotCoilId") String hotCoilId,
                                                        @Param("coldCoilId") String coldCoilId,
                                                        @Param("dbegin") String dbegin,
                                                        @Param("dend") String dend
    );


    /**
     * getTbyieldcal2150，得到2150连退线成材率表明细表;
     * @param coldCoilId 入口钢卷号
     * @param calCoilId 出口卷号
     * @param dbegin 开始时间
     * @param dend 结束时间
     */
    List<TbYieldCal2150Entity> getTbyieldcal2150Details(@Param("coldCoilId") String coldCoilId,
                                                   @Param("calCoilId") String calCoilId,
                                                   @Param("dbegin") String dbegin,
                                                   @Param("dend") String dend
    );
    /**
     * getTbyieldcal1630Detais，得到1630线成材率明细表;
     * @param coldCoilId 入口钢卷号
     * @param calCoilId 出口卷号
     * @param dbegin 开始时间
     * @param dend 结束时间
     * @return
     */
    List<TbYieldCal1630Entity> getTbyieldcal1630Details(@Param("coldCoilId") String coldCoilId,
                                                        @Param("calCoilId") String calCoilId,
                                                        @Param("dbegin") String dbegin,
                                                        @Param("dend") String dend
    );
    /**
     * getTbyieldtcmDetais，得到1870镀锌线成材率明细表;
     * @param coldCoilId 入口钢卷号
     * @param cglCoilId 出口卷号
     * @param dbegin 开始时间
     * @param dend 结束时间
     * @return AllProcessTbyieldtcmDetais
     */
    List<TbYieldCglEntity> getTbyieldtcmDetais(@Param("coldCoilId") String coldCoilId,
                                               @Param("cglCoilId") String cglCoilId,
                                               @Param("dbegin") String dbegin,
                                               @Param("dend") String dend
    );



    /**
     * 2150连退线成材率表明细表-分页;
     * @param query 入参TbYieldCal2150Entity
     * @return List<TbYieldCal2150Entity>
     */
    List<TbYieldCal2150Entity> getTbyieldcal2150Details_page(Page<?> page, @Param("query") TbYieldCal2150Entity query);

    /**
     * 2150连退线成材率表明细表-分页总页;
     * @param query 入参TbYieldCal2150Entity
     * @return 总页
     */
    Integer getTbyieldcal2150Details_pagecount(@Param("query") TbYieldCal2150Entity query);


    /**
     * 1630线成材率明细表-分页;
     * @param query 入参TbYieldCal1630Entity
     * @return List<TbYieldCal1630Entity>
     */
    List<TbYieldCal1630Entity> getTbyieldcal1630Details_page(Page<?> page, @Param("query") TbYieldCal1630Entity query);

    /**
     * getTbyieldcal1630Details_pagecount，得到1630线成材率明细表-分页总页;
     * @param query 入参TbYieldCal1630Entity
     * @return 总页
     */
    Integer getTbyieldcal1630Details_pagecount(@Param("query") TbYieldCal1630Entity query);


    /**
     * 1870镀锌线成材率明细表-分页
     * @param query 入参TbYieldCglEntity
     * @return List<TbYieldCglEntity>
     */
    List<TbYieldCglEntity> getTbyieldtcmDetais_page(Page<?> page, @Param("query") TbYieldCglEntity query);

    /**
     * 1870镀锌线成材率明细表-分页总页;
     * @param query 入参TbYieldCglEntity
     * @return 总页
     */
    Integer getTbyieldtcmDetais_pagecount(@Param("query") TbYieldCglEntity query);


    /**
     * 2280酸轧线成材率表明细表-分页;
     * @param query 入参TbYieldTcm2280Entity
     * @return List<TbYieldTcm2280Entity>
     */
    List<TbYieldTcm2280Entity> getTbyieldtcm2280Details_page(Page<?> page, @Param("query") TbYieldTcm2280Entity query);

    /**
     * 2280酸轧线成材率表明细表-分页总页;
     * @param query 入参TbYieldTcm2280Entity
     * @return 总页
     */
    Integer getTbyieldtcm2280Details_pagecount(@Param("query") TbYieldTcm2280Entity query);


    List<TbYieldTcmEntity> getputhead_month(@Param("startTime") String startTime,
                                            @Param("endTime") String endTime
    );

    /**
     * 1630产线成材率异常原因客户输入
     * @param query 入参TbYieldCal1630Entity
     */
    Integer updateAbnormalReason1630(@Param("query") TbYieldCal1630Entity query);

    /**
     * 2150产线成材率异常原因客户输入
     * @param query TbYieldCal2150Entity
     */
    Integer updateAbnormalReason2150(@Param("query") TbYieldCal2150Entity query);

    /**
     * 1870产线成材率异常原因客户输入
     * @param query TbYieldCglEntity
     */
    Integer updateAbnormalReason1870(@Param("query") TbYieldCglEntity query);

    /**
     * 2280产线成材率异常原因客户输入
     * @param query TbYieldTcm2280Entity
     */
    Integer updateAbnormalReason2280(@Param("query") TbYieldTcm2280Entity query);

    /**
     * 1630产线成材率异常原因客户输入-批量
     * @param coild List<String> 前端传入出口卷号
     * @param abnormalReason 异常原因
     */
    void updateAbnormalReason1630_List(List<String> coild,String abnormalReason);

    /**
     * 2150产线成材率异常原因客户输入-批量
     * @param coild List<String> 前端传入出口卷号
     * @param abnormalReason 异常原因
     */
    void updateAbnormalReason2150_List(List<String> coild,String abnormalReason);

    /**
     * 1870产线成材率异常原因客户输入-批量
     * @param coild List<String> 前端传入出口卷号
     * @param abnormalReason 异常原因
     */
    void updateAbnormalReason1870_List(List<String> coild,String abnormalReason);

    /**
     * 2280产线成材率异常原因客户输入-批量
     * @param coild List<String> 前端传入出口卷号
     * @param abnormalReason 异常原因
     */
    void updateAbnormalReason2280_List(List<String> coild,String abnormalReason);
}


